﻿#ifndef CTemplateOperDlg_H
#define CTemplateOperDlg_H
/********************************************************************************
** @ Date:2024/07/11
** @ Author: HanJiaXin
** @ Description:机器人模版管理操作对话框
** @ Version:1.0.0
** @ ClassName:
** @ Fun:
********************************************************************************/
#include <QDialog>
#include <QStandardItemModel>
#include "ui_CTemplateOperDlg.h"
#include "CRBaseData.h"

class CTemplateOperDlg : public QDialog
{
	Q_OBJECT

public:
	CTemplateOperDlg(QString sSceneGuid,int nActOrder, CRBaseData* pBasicData,QWidget *parent = nullptr);
	~CTemplateOperDlg();

	void refushDataByTemplateID(QString sTemplateGuid);//根据模版的GUID刷新界面中的数据

private:
	void setStyleSheetFile();   //设置样式文件
	void initConnect();         //初始化槽函数连接
	void initUi();//初始化界面

	void refushTemplateList();//刷新界面中的模版树

private slots:
	void onIndexChanged(int index);
	void slotPushButtonSave();//保存
	void slotPushButtonAllCheckClicked();//点击全选按钮槽函数
	void slotPushButtonDisAllCheckedClicked();//点击取消全选按钮槽函数
	void slotExpandInfo();//全部展开信息
	void slotShrinkInfo();//全部收缩信息
	void slotClose();//关闭界面

public:
	int m_nType;//0:增加 1:修改
	QString m_sTemplateFixGuid;

private:
	Ui::CTemplateOperDlgClass ui;
	QStandardItemModel *m_pTreeInfoModel;//模版信息列表
	QString m_sGuid;//场景Guid
	int m_nActOrder;//执行顺序
	CRBaseData* m_pBasicData;
	QMap<int, QString> m_mapActOrder;
};
#endif;